home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / util / libs / mufs_usergroup.lha / usergroup / assert.c next >
C/C++ Source or Header  |  1992-09-02  |  2KB  |  79 lines

  1. /* $Id: assert.c,v 2.1 1994/02/17 12:09:16 ppessi Exp $
  2.  * 
  3.  * assert.c -- gracious assert with intuition style for SAS C 6
  4.  *
  5.  * Author: ppessi <Pekka.Pessi@hut.fi>
  6.  *
  7.  * This file is part of the AmiTCP/IP Network Library.
  8.  *
  9.  * Copyright ⌐ 1993 AmiTCP/IP Group, <AmiTCP-Group@hut.fi>
  10.  *                  Helsinki University of Technology, Finland.
  11.  *
  12.  * Created      : Thu Jun 15 01:24:12 1993 ppessi
  13.  * Last modified: Thu Feb 17 07:09:11 1994 ppessi
  14.  */
  15.  
  16. #include <exec/types.h>
  17. #include <exec/libraries.h>
  18.  
  19. #include <intuition/intuition.h>
  20. #include <assert.h>
  21.  
  22. #include <proto/intuition.h>
  23. #include <proto/exec.h>
  24. #include <stdarg.h>
  25.  
  26. extern __far const UBYTE _LibName[];
  27. extern const UBYTE *_ProgramName;
  28.  
  29. __saveds void 
  30. InMsg(const char *fmt, ...)
  31. {
  32.   struct Library *IntuitionBase; 
  33.  
  34.   IntuitionBase = OpenLibrary("intuition.library", 36);
  35.   
  36.   if (IntuitionBase != NULL) {
  37.     struct EasyStruct libraryES;
  38.  
  39.     va_list va;
  40.     va_start(va, fmt);
  41.     
  42.     libraryES.es_StructSize = sizeof(libraryES);
  43.     libraryES.es_Flags = 0;
  44.     libraryES.es_Title = (STRPTR)_LibName;
  45.     libraryES.es_TextFormat = (STRPTR)fmt;
  46.     libraryES.es_GadgetFormat = "Continue";
  47.     
  48.     EasyRequestArgs(NULL, &libraryES, NULL, va);
  49.  
  50.     CloseLibrary(IntuitionBase);
  51.   }
  52.  
  53. }
  54.  
  55. __saveds void 
  56. __assert(int not_failed, const char *assertion, const char *file, int line)
  57. {
  58.   struct Library *IntuitionBase; 
  59.  
  60.   if (not_failed) return;
  61.  
  62.   IntuitionBase = OpenLibrary("intuition.library", 36);
  63.   
  64.   if (IntuitionBase != NULL) {
  65.     struct EasyStruct libraryES;
  66.     
  67.     libraryES.es_StructSize = sizeof(libraryES);
  68.     libraryES.es_Flags = 0;
  69.     libraryES.es_Title = (STRPTR)_ProgramName;
  70.     libraryES.es_TextFormat = 
  71.       "Assertion \"%s\" failed at line %ld in file %s in library %s.";
  72.     libraryES.es_GadgetFormat = "Continue";
  73.     
  74.     EasyRequest(NULL, &libraryES, NULL, assertion, line, file, _LibName);
  75.  
  76.     CloseLibrary(IntuitionBase);
  77.   }
  78. }
  79.